import { Param } from "./types";

export const Flake8TypeCheckingParamList: Param[] = [
    {
        name: "exempt-modules",
        descEn: "Exempt certain modules from needing to be moved into type-checking blocks.",
        descCn: "",
        defaultValue: ["typing"],
        url: "https://beta.ruff.rs/docs/settings/#exempt-modules",
    },
    {
        name: "runtime-evaluated-base-classes",
        descEn: "Exempt classes that list any of the enumerated classes as a base class from needing to be moved into type-checking blocks.",
        descCn: "",
        defaultValue: [],
        url: "https://beta.ruff.rs/docs/settings/#runtime-evaluated-base-classes",
    },
    {
        name: "runtime-evaluated-decorators",
        descEn: "Exempt classes decorated with any of the enumerated decorators from needing to be moved into type-checking blocks.",
        descCn: "",
        defaultValue: [],
        url: "https://beta.ruff.rs/docs/settings/#runtime-evaluated-decorators",
    },
    {
        name: "strict",
        descEn: "Enforce TC001, TC002, and TC003 rules even when valid runtime imports are present for the same module. See flake8-type-checking's strict option.",
        descCn: "",
        defaultValue: false,
        url: "https://beta.ruff.rs/docs/settings/#strict",
    },
];